Input Components

C H A P T E R   1 4

Input Components

This chapter presents the requirements and recommendations for standard input devices and connections under the Microsoft Windows family of operating systems.Contents

Overview for Input Components

This section presents the key design issues for input components under Microsoft Windows.

These are the key issues for input devices for PC 97:

System Requirements for Input Components

This section summarizes the requirements for specific input components for PC 97 system designs.

For a mobile PC system, the required USB port can be used to support the requirement for external mouse and keyboard connections. However, two PS/2-style ports can be implemented for the mouse and keyboard, or a single PS/2-style port can be provided for both the mouse or keyboard on a mobile PC.

1. External connection for keyboard

Basic PC 97 Workstation PC 97 Entertainment PC 97
Required Required Required

Recommended: USB. This connection can also be implemented as a PS/2-style port or by using wireless capabilities in the system. For mobile PC systems, a single PS/2-style port can be provided for use by either the mouse or keyboard.

2. External connection for pointing device

Basic PC 97 Workstation PC 97 Entertainment PC 97
Required Required Required

Recommended: USB or wireless. This connection can also be implemented using a PS/2-style port in the system.

3. Wireless capabilities

Basic PC 97 Workstation PC 97 Entertainment PC 97
Recommended Recommended Recommended

An infrared or radio-frequency (RF) remote-control device included with a PC system must meet the requirements defined in the "Mouse Port and Peripherals" section in this chapter and the requirements in the "Serial, Parallel, and Wireless Support" chapter in Part 4 of this guide.

4. USB game pad or joystick

Basic PC 97 Workstation PC 97 Entertainment PC 97
Recommended Recommended Required

Recommended: Wireless for Entertainment PC 97.

This device must support the USB Human Input Device Class Specification. For more information about requirements for USB peripherals, see the "USB" chapter in Part 3 of this guide.

Note For PC 97, the recommended solution for game control input devices is to provide devices that use a USB connection rather than a proprietary or traditional game port. This is the required implementation for Entertainment PC 97.

An input device that uses a traditional or proprietary digital game port solution is not recommended for PC 97 systems and not allowed for Entertainment PC 97, because there are no defined standards for digital game ports, some digital game port designs are incompatible with some devices, and traditional game ports impose performance limitations on high-speed processors.

However, it is recognized that some legacy implementations include traditional or proprietary game port capabilities (this includes providing a MIDI port that can be used as a game control port). A system designer might choose to include such a port on a PC 97 system to allow users to connect their legacy devices. For information about PC 97 requirements related to such legacy ports, see "Legacy Game Control Port Requirements" later in this chapter.

PC 97 Design for Input Devices

This section summarizes requirements related to the design initiatives for PC 97 defined in Part 1 of this guide.

Plug and Play and Bus Design for Input Devices

The items in this section are requirements for Plug and Play capabilities.

5. Plug and Play device identifier

Required

6. Automatic resource assignment and dynamic disable capabilities

Required

The operating system must be capable of automatically assigning, disabling, and relocating the resources used by this device when necessary, using the method required for the related bus class. Changing or adding this device to the PC system must not require changing jumpers or switches on either the adapter or the system board. In the event of an irreconcilable conflict with other devices, the operating system must be able to disable the device to prevent the system from stalling.

If there is a conflict when more than one device of the same type is detected on the system, one of two methods can be used to resolve them:

Note Fixed (static) resource devices can exist to support standard devices, including the keyboard controller (8042). For an x86-based system, these fixed resources are located at I/O addresses under 100h. Standard system board devices should use their ISA-compatible addresses. For x86-based systems, this includes devices with I/O port addresses within the reserved range 0h through 0ffh. For more information about legacy resources and ISA-compatible addresses, see Appendix D, "Legacy I/O Assignments."

Power Management for Input Devices

This section summarizes the specific power management requirements for input devices.

7. Compliance with "Device Class Power Management Reference Specification" for input devices

Required

The "Device Class Power Management Reference Specification" for input devices provides definitions of the OnNow device power states (D0 - D3) for these devices. The specification also covers device functionality expected in each power state and the possible Wakeup event definitions for the class. Power states D0 and D3 are required. Other power states are recommended.

8. Support Wakeup Events defined in "Device Class Power Management Reference Specification"

Optional

For PC 97, the ability to cause a Wakeup event as defined in the "Device Class Power Management Reference Specification" for input devices is an optional feature.

Device Drivers and Installation for Input Devices

This section summarizes requirements for device drivers for input devices. The items in this section are requirements for all PC 97 systems.

9. Device driver and installation meet Windows and Windows NT standards

Required

The manufacturer does not need to supply a driver if a standard driver provided with the operating system can be used. If the manufacturer supplies drivers, the requirements include the following:

For complete details about standard installation requirements for drivers, see "Basic PC 97" in Part 2 of this guide.

Mouse Port and Peripherals

This section defines the specific requirements for pointing device connections and peripherals. Because the Windows operating system requires a pointing device, a system board in a PC 97 system should include an auxiliary port for an external pointing device (most commonly, a mouse). For PC 97, it is recommended that systems designers use the USB port for the connection and also consider implementing wireless support for an external pointing device.

10. General device requirements

Required

These include the standard requirements for a Plug and Play device identifier, automated software-only settings for device configuration, standard device drivers and Windows-based installation, and icons for external connectors. For more information, see the "Basic PC 97" chapter of this guide.

11. PS/2 port specifications, if PS/2-style port is used

Required

The following requirements must be met if a PS/2-style port is used:

12. USB Specification and device class specifications, if USB is used

Required

This device must comply with the Universal Serial Bus Specification v. 1.0 or higher, and the related USB device class specification. This ensures that all Plug and Play requirements are met and that Microsoft drivers support this device. For more information, see the "USB" chapter in Part 3 of this guide.

13. IR wireless specifications, if IR device is used

Required

An infrared device must support IrDA codes and all other requirements specified in the IrDA specification.

14. RF wireless specifications, if RF wireless device is used

Recommended

Numerous consumer electronics remote controls use proprietary RF communications protocols to provide low-cost, one-way remote control functionality, often at relatively great distances (up to 10 meters).

For more information about support and standards being developed at Microsoft for RF devices, see http://www.microsoft.com/hwdev/devdes/.

15. Remote control provides minimum support, if present

Recommended

The range of functions implemented on the remote control device will depend on whether the remote control is designed for the business desktop or for Entertainment PC 97 use. There is no defined list of the functions that must be included on a remote control device, but such a device might provide the following types of functions and buttons:

The following functions and buttons can also be considered for a remote control used with an Entertainment PC 97 system:

Keyboard Ports and Peripherals

The primary input component for a PC is the keyboard. The keyboard connection on the system board has traditionally been controlled by an 8042 microcontroller or the equivalent. However, for PC 97, USB connections and wireless connections are important design considerations for PC keyboard connections. Also, these design requirements do not exclude (but do not encourage) implementing a legacy AT-style keyboard port.

This section summarizes the specific hardware features required for PC 97 keyboard ports and peripherals. Some keyboard port requirements differ, depending on what type of port is being used.

16. General device requirements

Required

These include the standard requirements for a Plug and Play device identifier, automated software-only settings for device configuration, standard device drivers and Windows-based installation, and icons for external connectors. For more information, see the "Basic PC 97" chapter of this guide.

17. PS/2 specifications by IBM and 8042 chip (or equivalent), if PS/2 used

Required

If a PS/2-style keyboard port is designed into the system, it must meet the following requirements:

18. USB Specification and USB device class specification, if USB is used

Required

This device must comply with the Universal Serial Bus Specification (v. 1.0 or higher) and the related USB device class specification. This ensures that all Plug and Play requirements are met and Microsoft drivers support this device. For information, see the "USB" chapter in Part 3 of this guide. The keyboard must also support the USB Human Input Device Class Specification.

If a USB keyboard is the sole keyboard implementation in the system, it must support the USB Boot Device specification, and the system BIOS must provide boot support, as specified in "Basic PC 97" in Part 2 of this guide and defined in "Universal Serial Bus PC Legacy Compatibility Specification," v. 1.0 or higher, available from http://www.teleport.com/~usb/data/usb_le9.pdf.

19. Wireless specifications, if wireless device is used

Required

An IR device must support IrDA codes and all other requirements specified in the IrDA specification.

20. PS/2- style keyboard returns expected scan codes

Required

This includes send identifier (0F2h), response: ACK (0FAh) + 2-byte ID.

21. No interference between keyboards for multiple devices

Required

For example, when a mobile PC is connected to a docking station, more than one keyboard can be attached to the system simultaneously. The keyboard ports on a mobile PC and the docking station must be able to resolve conflicts between the two ports when the mobile unit is docked. Windows supports multiple configurations through the registry and will determine which keyboard to enable.

For more information about managing resources and devices for a mobile PC and docking station pair, see the "Basic PC 97" chapter in Part 2 of this guide.

22. Windows and Application Logo keys

Recommended

If the keyboard includes any Windows Logo keys, it must meet the following requirements:

The following are recommendations if a keyboard design includes any Windows Logo keys:

PC 97 Game Pad Requirements

This section presents the minimum requirements for game control devices such as game pads for PC 97.

USB is a required port and is the recommended PC 97 solution for game input devices such as game pads, phasing out the standard DB15 game port. A proprietary "digital" game port on a PC 97 system is not recommended, because some digital joystick devices work only in analog mode with proprietary digital ports.

23. General device requirements

Required

These include the standard requirements for a Plug and Play device identifier, automated software-only settings for device configuration, standard device drivers and Windows-based installation, and icons for external connectors. For more information, see the "Basic PC 97" chapter of this guide.

24. USB Human Input Device Class Specification support

Required

PC 97 game control devices and drivers must support the USB Human Input Device Class Specification v. 1.0 or higher.

Legacy Game Control Port Requirements

This section defines the minimum requirements for a legacy game control port that might be included on the system board, in an add-on card such as an audio card, or as a standalone add-on device.

For PC 97, the recommended solution for game control input devices is to provide devices that use a USB connection rather than a proprietary or traditional game port. Game controls that use traditional game ports are not acceptable solutions for PC 97, because these legacy ports impose performance limitations on highspeed processors and do not completely support Plug and Play.

However, a legacy game port can be included on a multifunction card or in a PC 97 system if the system designer wants to allow users to connect their existing legacy game control devices. In order to be eligible for the "Designed for Microsoft Windows" logo, a device or PC system that includes a legacy game port must meet the requirements defined in this section.

25. General device requirements

Required

Although it is recognized that traditional game devices do not support Plug and Play, for PC 97 it is required that the device use software-only settings for device configuration, standard device drivers, and Windows-based installation. For more information about general device requirements, see the "Basic PC 97" chapter of this guide.

26. Legacy game port complies with bus and device-class specifications

Required

If a game port uses a bus such as PCI or ISA, the port must fully comply with the specifications for the bus where it is installed. If the game port is implemented as a PCI device, it must meet all the PCI 2.1 requirements for PC 97 as defined in the "PCI" chapter in Part 3 of this guide.

27. Resource arbitration for non-PCI game port devices

Required

For devices that use expansion buses such as ISA, the following minimum resource configuration requirements must be met:

Notice that, as for all ISA devices, ISA IRQ sharing is required if the minimum resource requirement cannot be met.

28. Device driver meets Windows 95 driver requirements

Required

The device driver for Windows 95 must not replace Microsoft VxDs and joystick drivers, and it must be compliant with the Windows 95 driver requirements for installable device drivers, as defined in the Windows 95 DDK.

29. Device driver for non-USB device supports DirectInput 3.0 APIs

Required

The upper edge of the device driver must support DirectInput 3.0 or higher, as defined in the Windows 95 DDK.

30. MIDI-compatible legacy port uses Sound Blaster pin-out

Required

Some legacy multifunction cards use a MIDI port as a game control port. If a MIDI port is implemented in the PC system, it must use the pin-12 and pin-15 standard and Transistor-Transistor Logic (TTL) level used in Sound Blaster-compatible designs.

31. Legacy game port works with Windows-supplied drivers

Required

The port must work unmodified with driver files provided with the Windows operating system.

32. If present, proprietary port meets PC 97 requirements

Required

If a game port is implemented as a proprietary port instead of the recommended PC 97 implementation for USB, the port must meet the following requirements:

References for Input Components

This section lists some of the publications, services, and tools available to help build hardware that works with Windows operating systems.

Device Class Power Management Reference Specification

http://www.microsoft.com/hwdev/onnow.htm

Plug and Play specifications

http://www.microsoft.com/hwdev/pnpspecs.htm

Windows 95 DDK, Windows NT DDK, DirectX DDK

MSDN Professional Membership

IBM Personal System/2 Common Interfaces, Part No. S84F-9809
IBM Personal System/2 Mouse Technical Reference, Part No. S68X-2229

International Business Machines Corporation
IBM Customer Publications Support: (800) 879-275
Or contact an IBM sales representative

Infrared Data Association Serial Infrared (SIR) Physical Layer Specification

Available only to IrDA members:
Infrared Data Association (IrDA)
P. O. Box 3883
Walnut Creek, CA 94598 USA
Phone: (510) 943-6546
Fax: (510) 943-5600
E-mail: irda@netcom.com

New Key Support for Microsoft Windows Operating Systems and Applications

Newkeys.zip (self-extracting zip file)
    ftp://ftp.microsoft.com/PerOpSys/Win_News

Windows Logo Key testing software, documentation, and license agreement

http://www.microsoft.com/hwtest
The license agreement can be obtained using the fax-back service:
(206) 635-2222 - request document 859.

Checklist for Input Devices

Basic PC 97 Workstation PC 97 Entertainment PC 97


System Requirements for Input Components
1. External connection for keyboard
Required Required Required
2. External connection for pointing device
Required Required Required
3. Wireless capabilities
Recommended Recommended Recommended
4. USB game pad or joystick
Recommended Recommended Required

PC 97 Design for Input Devices
Plug and Play and Bus Design for Input Devices
5. Plug and Play device identifier
Required
6. Automatic resource assignment and dynamic disable capabilities
Required

Power Management for Input Devices
7. Compliance with "Device Class Power Management Reference Specification" for input devices
Required
8. Support Wakeup Events defined in "Device Class Power Management Reference Specification"
Optional

Device Drivers and Installation for Input Devices
9. Device driver and installation meet Windows and Windows NT standards
Required

Mouse Port and Peripherals
10. General device requirements
Required
11. PS/2 port specifications, if PS/2-style port is used
Required
12. USB Specification and device class specifications, if USB is used
Required
13. IR wireless specifications, if IR device is used
Required
14. RF wireless specifications, if RF wireless device is used
Recommended
15. Remote control provides minimum support, if present
Recommended

Keyboard Ports and Peripherals
16. General device requirements
Required
17. PS/2 specifications by IBM and 8042 chip (or equivalent), if PS/2 used
Required
18. USB Specification and USB device class specification, if USB is used
Required
19. Wireless specifications, if wireless device is used
Required
20. PS/2- style keyboard returns expected scan codes
Required
21. No interference between keyboards for multiple devices
Required
22. Windows and Application Logo keys
Recommended

PC 97 Game Pad Requirements
23. General device requirements
Required
24. USB Human Input Device Class Specification support
Required

Legacy Game Control Port Requirements
25. General device requirements
Required
26. Legacy game port complies with bus and device-class specifications
Required
27. Resource arbitration for non-PCI game port devices
Required
28. Device driver meets Windows 95 driver requirements
Required
29. Device driver for non-USB device supports DirectInput 3.0 APIs
Required
30. MIDI-compatible legacy port uses Sound Blaster pin-out
Required
31. Legacy game port works with Windows-supplied drivers
Required
32. If present, proprietary port meets PC 97 requirements
Required